digraph "dpmem.c.069i.free-fnsummary1" {
overlap=false;
subgraph "cluster_dp_strdup" {
	style="dashed";
	color="black";
	label="dp_strdup ()";
	fn_12_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_12_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_12_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 2\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|#\ DEBUG\ ret\ =\>\ 0B\l\
|#\ DEBUG\ BEGIN_STMT\l\
|if\ (str_6(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [8.27%]\l\
else\l\
\ \ goto\ \<bb\ 3\>;\ [91.73%]\l\
}"];

	fn_12_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:984943377\<bb\ 3\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|_1\ =\ *str_6(D);\l\
|if\ (_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [51.12%]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [48.88%]\l\
}"];

	fn_12_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:481440319\<bb\ 4\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|_2\ =\ strlen\ (str_6(D));\l\
|_3\ =\ _2\ +\ 1;\l\
|ret_9\ =\ dp_calloc\ (1,\ _3);\l\
|#\ DEBUG\ ret\ =\>\ ret_9\l\
|#\ DEBUG\ BEGIN_STMT\l\
|strcpy\ (ret_9,\ str_6(D));\l\
|#\ DEBUG\ BEGIN_STMT\l\
}"];

	fn_12_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 5\>:\l\
|#\ _4\ =\ PHI\ \<0B(2),\ \"\"(3),\ ret_9(4)\>\l\
|return\ _4;\l\
}"];

	fn_12_basic_block_0:s -> fn_12_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_12_basic_block_2:s -> fn_12_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true,label="[8%]"];
	fn_12_basic_block_2:s -> fn_12_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true,label="[91%]"];
	fn_12_basic_block_3:s -> fn_12_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true,label="[51%]"];
	fn_12_basic_block_3:s -> fn_12_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true,label="[48%]"];
	fn_12_basic_block_4:s -> fn_12_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_12_basic_block_5:s -> fn_12_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true,label="[100%]"];
	fn_12_basic_block_0:s -> fn_12_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_dp_realloc" {
	style="dashed";
	color="black";
	label="dp_realloc ()";
	fn_11_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_11_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_11_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 2\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|#\ DEBUG\ ret\ =\>\ 0B\l\
|#\ DEBUG\ BEGIN_STMT\l\
|ret_5\ =\ realloc\ (ptr_2(D),\ n_3(D));\l\
|#\ DEBUG\ ret\ =\>\ ret_5\l\
|#\ DEBUG\ BEGIN_STMT\l\
|if\ (n_3(D)\ !=\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [50.00%]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [50.00%]\l\
}"];

	fn_11_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:536870913\<bb\ 3\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|if\ (ret_5\ ==\ 0B)\l\
\ \ goto\ \<bb\ 4\>;\ [0.04%]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [99.96%]\l\
}"];

	fn_11_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:214748\<bb\ 4\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|printf\ (\"%s():\ nil\ realloc\\n\",\ &__func__);\l\
|#\ DEBUG\ BEGIN_STMT\l\
|exit\ (1);\l\
}"];

	fn_11_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073527077\<bb\ 5\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|return\ ret_5;\l\
}"];

	fn_11_basic_block_0:s -> fn_11_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_11_basic_block_2:s -> fn_11_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true,label="[50%]"];
	fn_11_basic_block_2:s -> fn_11_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true,label="[50%]"];
	fn_11_basic_block_3:s -> fn_11_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true,label="[0%]"];
	fn_11_basic_block_3:s -> fn_11_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true,label="[99%]"];
	fn_11_basic_block_5:s -> fn_11_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true,label="[100%]"];
	fn_11_basic_block_0:s -> fn_11_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_dp_calloc" {
	style="dashed";
	color="black";
	label="dp_calloc ()";
	fn_10_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_10_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_10_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 2\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|#\ DEBUG\ ret\ =\>\ 0B\l\
|#\ DEBUG\ BEGIN_STMT\l\
|_1\ =\ nmemb_5(D)\ *\ size_6(D);\l\
|if\ (_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [33.00%]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [67.00%]\l\
}"];

	fn_10_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:354334800\<bb\ 3\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|_2\ =\ (int)\ size_6(D);\l\
|_3\ =\ (int)\ nmemb_5(D);\l\
|printf\ (\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ &__func__,\ _3,\ _2);\l\
}"];

	fn_10_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 4\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
|#\ DEBUG\ ret\ =\>\ ret_10\l\
|#\ DEBUG\ BEGIN_STMT\l\
|if\ (ret_10\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [0.04%]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [99.96%]\l\
}"];

	fn_10_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:429496\<bb\ 5\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|printf\ (\"%s():\ no\ memory\\n\",\ &__func__);\l\
|#\ DEBUG\ BEGIN_STMT\l\
|exit\ (1);\l\
}"];

	fn_10_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073312329\<bb\ 6\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|return\ ret_10;\l\
}"];

	fn_10_basic_block_0:s -> fn_10_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_10_basic_block_2:s -> fn_10_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true,label="[33%]"];
	fn_10_basic_block_2:s -> fn_10_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true,label="[67%]"];
	fn_10_basic_block_3:s -> fn_10_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_10_basic_block_4:s -> fn_10_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true,label="[0%]"];
	fn_10_basic_block_4:s -> fn_10_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true,label="[99%]"];
	fn_10_basic_block_6:s -> fn_10_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true,label="[100%]"];
	fn_10_basic_block_0:s -> fn_10_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_dp_malloc" {
	style="dashed";
	color="black";
	label="dp_malloc ()";
	fn_9_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_9_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_9_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 2\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|if\ (n_2(D)\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [33.00%]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [67.00%]\l\
}"];

	fn_9_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:354334800\<bb\ 3\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|printf\ (\"%s():\ 0\ malloc\\n\",\ &__func__);\l\
}"];

	fn_9_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 4\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|_6\ =\ dp_calloc\ (1,\ n_2(D));\l\
|return\ _6;\l\
}"];

	fn_9_basic_block_0:s -> fn_9_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_9_basic_block_2:s -> fn_9_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true,label="[33%]"];
	fn_9_basic_block_2:s -> fn_9_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true,label="[67%]"];
	fn_9_basic_block_3:s -> fn_9_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_9_basic_block_4:s -> fn_9_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true,label="[100%]"];
	fn_9_basic_block_0:s -> fn_9_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_dp_free" {
	style="dashed";
	color="black";
	label="dp_free ()";
	fn_8_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_8_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_8_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 2\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|#\ DEBUG\ p\ =\>\ 0B\l\
|#\ DEBUG\ BEGIN_STMT\l\
|if\ (ptr_2(D)\ !=\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [70.00%]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [30.00%]\l\
}"];

	fn_8_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:751619281\<bb\ 3\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|free\ (ptr_2(D));\l\
goto\ \<bb\ 5\>;\ [100.00%]\l\
}"];

	fn_8_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:322122544\<bb\ 4\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|printf\ (\"%s():\ nil\ ptr\\n\",\ &__func__);\l\
|#\ DEBUG\ BEGIN_STMT\l\
}"];

	fn_8_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{COUNT:1073741824\<bb\ 5\>:\l\
|#\ DEBUG\ BEGIN_STMT\l\
|return;\l\
}"];

	fn_8_basic_block_0:s -> fn_8_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_8_basic_block_2:s -> fn_8_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true,label="[70%]"];
	fn_8_basic_block_2:s -> fn_8_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true,label="[30%]"];
	fn_8_basic_block_3:s -> fn_8_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_8_basic_block_4:s -> fn_8_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
	fn_8_basic_block_5:s -> fn_8_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true,label="[100%]"];
	fn_8_basic_block_0:s -> fn_8_basic_block_1:n [style="invis",constraint=true];
}
}
